The present invention relates to a parallel data base record distribution method and a parallel data base management system, or more particular to a record distribution method and a management system capable of managing the addition of a database unit in a parallel database management system including a plurality of database units in versatile way.
Conventionally, when a large amount of records are to be distributed equally among a plurality of database units of a parallel database management system, a hash function is used in view of a high level of versatility against the increase in the number of records with a small overhead for distribution. In such a case, the hash function is used for both the preparation and addition of a record and the search of the record. In other words, when a new record which has been prepared is stored in a parallel database, the hash function is used to determine a data base unit to store it in, and when searching for the desired record, the same hash function is used to determine the data base unit having the record stored therein.
The hash function is used in the systems described in JP-A-2-113349, JP-A-4-160475 and JP-A-6-103127, for example.
As described above, the use of the hash function for both the preparation/addition of a record and the record search poses the following problems:
(1) The hash function and the result of the hashing (calculation using the hash function) depend on the actual number of divisions (the number of database units) for the parallel data base management system. Therefore, when a data base unit is added in the parallel data base management system, i.e., when the number of divisions is changed, it is necessary to redistribute the entire record stored so far among the data base units using the new hash function depending on the changed number of divisions. This imposes a great burden and makes an efficient operation of the parallel data base impossible.
(2) Even when a data base unit is added without redistributing (restoring) the record, the record is not stored in the newly-added data base unit, and it is impossible to distribute the record equally among the data base units.